#ifndef DISPLAY_H
#define DISPLAY_H

#include "scene.h"
#include <qobject.h>

#include <QGLViewer/qglviewer.h>

class Display : public QObject
{
    //Q_OBJECT

public:
    bool showBBox;

    GLenum displayMode;

    bool useMaterial;

    Display(Scene *scene) ;

//    Display() {}

    void drawBox(const Math::Vector3 &size, const Math::Vector3 &position, const Math::Quaternion &orientation);
    void drawSphere(const Math::Real &radius, const Math::Vector3 &position);
    void drawMesh( TriMesh *mesh, const Math::Vector3 &position, const Math::Quaternion &orientation);

    void SetFill() { displayMode = GL_FILL; }
    void SetWire() { displayMode = GL_LINE; }

private:

    Scene *scene;


public Q_SLOTS:
    void draw(bool withNames);


};

#endif // DISPLAY_H
